home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 255 / applic / sorter.doc < prev    next >
Text File  |  1988-06-14  |  5KB  |  92 lines

  1.                         SORTER.TOS HELP FILE
  2.  
  3. SORTER.TOS can sort a file of up to 8000 entries on up to 9 keys at once.
  4. Sorts can be made alphabetically or numerically in increasing or decreasing
  5. order, and duplicate entries can be eliminated during the sort process.
  6. Each entry may consist of any number of lines of up to 250 characters
  7. length each, and the lines don't need to be of the same length.  The
  8. sort is based on data in the first line only, and the data must be in the
  9. same columns for each entry.
  10.  
  11. SORTER.TOS performs a multiple level sort, so that you can give different
  12. priorities to different key fields.  For example, suppose you wanted to
  13. sort the GEnie directory of programs that you have stored on disk, sorted
  14. by library, and within each library alphabetically by the uploading author,
  15. and finally reverse numerically by file number for each author.  You would
  16. be prompted first for the file name (you can specify a path to any disk or
  17. folder) and then asked for the number of lines per entry (in this case 2).
  18. You will be reminded briefly of the instructions, and the first line of the
  19. file will be listed with a set of numbers to help identify the correct
  20. column. You would then specify the sorting keys as follows:
  21.  
  22.         10        20        30        40        50        60        70
  23. 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234
  24.  5479 UNI20.ARC (UNITERM 2.0)  X R-FLASHMAN   880110  141120     23   7
  25.  
  26. Enter key 1: 70 71 a i
  27. Enter key 2: 34 46 a i
  28. Enter key 3: 1 5 n d
  29. Enter key 4:
  30.  
  31. Key 1 says to sort on columns 70 to 71 (library number) in alphabetic
  32. order.  (Note that most of the time alpha/ASCII order is the same as
  33. numeric order.)  Key 2 does an alphabetic sort on the data in columns
  34. 34 through 46, and Key 3 does a numeric, decreasing sort on columns 1
  35. through 5.  (Note again that an alpha sort would have sufficed here.)
  36. The priority of each key is based on the order of its entry, so that
  37. everything is sorted on key 1 first, then key 2, and then key 3. A blank
  38. line indicates that you're ready to start sorting.
  39.  
  40. The available options in the sort operation are:
  41.  
  42.         I - sort in increasing  or   D - decreasing order
  43.         A - sort by alpha/ASCII or   N - numeric/float order
  44.         Z - treat blanks as zero for numeric sorts
  45.         E - eliminate entries with all identical keys
  46.  
  47. The default (when no options are given) is in increasing (I) alpha/ASCII
  48. (A) order.  If nothing is specified, the first ten columns are used.
  49. The Z option is useful only in peculiar circumstances, and can result
  50. in unexpected sorting orders.  (I use it for astronomical catalogs that
  51. have zero coordinates omitted.) The E option will remove any duplicate
  52. entries, HOWEVER DUPLICATES ARE DETERMINED BY THE KEYSTRINGS ONLY, so that
  53. even when the rest of the entry is different, if all the keys are the same,
  54. the E option will still eliminate the duplicate.  It is unpredictable
  55. which duplicate will be eliminated.  The E option need be specified only
  56. once since all keys will be examined before any entry is deleted.
  57.  
  58. After the sort is completed, you will be prompted for the output file name.
  59. You can swap disks at this point, or even overwrite the input file (this
  60. is NOT recommended, especially if you've used option E, unless the data is
  61. expendable).
  62.  
  63.                           HINTS AND COMMENTS
  64.  
  65. SORTER.TOS is based on a Heap-sort algorithm which is nearly as fast as a
  66. Quick-sort, and has none of the potential problems.  (Quick-sort becomes
  67. extremely slow in cases where the data is nearly in order already, which
  68. may be the case with a frequently sorted database.)
  69.  
  70. All the data is read into memory along with encoded key strings, and the
  71. sort is performed using pointers.  For large files, you may want to boot
  72. up your computer with no accessories present.
  73.  
  74. The numeric sort will read in any integer or floating point format.  Since
  75. single precision is used, 4 bytes are used to store the key string no
  76. matter how big or small the number is.  Thus, it is recommended that the
  77. numeric sort be used for numeric fields that are longer than 4 bytes to
  78. use up less memory for the key string.
  79.  
  80. I have used SORTER successfully on a large number of files, but of course
  81. I cannot guarantee it will work for everyone.  I WILL be happy to modify
  82. the program if you have a particular need or problem. The program seems
  83. to be fairly slow during the reading and writing operations on large files.
  84. If anyone knows how I can speed this up, I would appreciate the info. (The
  85. program was written with Megamax C.)
  86.  
  87. To contact me on GEnie, my mail name is SESCHNEIDER.
  88.  
  89. Good luck!
  90.  
  91. Steve Schneider
  92.